package ph.com.gs3.formalistics.model.vo.business.document;

import java.util.List;

import org.json.JSONObject;

import ph.com.gs3.formalistics.global.constants.StarMark;

public class Document {

	private int id;
	private String webId;
	private String trackingNumber;

	private int formId;

	private String status;

	private int authorId;
	private int processorId;

	private String dateCreated;
	private String dateUpdated;

	private List<String> fieldsRequired;
	private List<String> fieldsEnabled;
	private List<String> fieldsHidden;

	private JSONObject fieldValuesJSON;
	private List<DocumentAction> actions;

	private StarMark starMark;

	private String commentsLastUpdateDate;

	@Override
	public String toString() {

		return webId + "- " + trackingNumber + "| Status: " + status;
	}

	// ==============================================================================
	// {{ Getters & Setters

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getWebId() {
		return webId;
	}

	public void setWebId(String webId) {
		this.webId = webId;
	}

	public String getTrackingNumber() {
		return trackingNumber;
	}

	public void setTrackingNumber(String trackingNumber) {
		this.trackingNumber = trackingNumber;
	}

	public int getFormId() {
		return formId;
	}

	public void setFormId(int formId) {
		this.formId = formId;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public int getAuthorId() {
		return authorId;
	}

	public void setAuthorId(int authorId) {
		this.authorId = authorId;
	}

	public int getProcessorId() {
		return processorId;
	}

	public void setProcessorId(int processorId) {
		this.processorId = processorId;
	}

	public String getDateCreated() {
		return dateCreated;
	}

	public void setDateCreated(String dateCreated) {
		this.dateCreated = dateCreated;
	}

	public String getDateUpdated() {
		return dateUpdated;
	}

	public void setDateUpdated(String dateUpdated) {
		this.dateUpdated = dateUpdated;
	}

	public List<String> getFieldsRequired() {
		return fieldsRequired;
	}

	public void setFieldsRequired(List<String> fieldsRequired) {
		this.fieldsRequired = fieldsRequired;
	}

	public List<String> getFieldsEnabled() {
		return fieldsEnabled;
	}

	public void setFieldsEnabled(List<String> fieldsEnabled) {
		this.fieldsEnabled = fieldsEnabled;
	}

	public List<String> getFieldsHidden() {
		return fieldsHidden;
	}

	public void setFieldsHidden(List<String> fieldsHidden) {
		this.fieldsHidden = fieldsHidden;
	}

	public JSONObject getFieldValuesJSON() {
		return fieldValuesJSON;
	}

	public void setFieldValuesJSON(JSONObject fieldValuesJSON) {
		this.fieldValuesJSON = fieldValuesJSON;
	}

	public List<DocumentAction> getActions() {
		return actions;
	}

	public void setActions(List<DocumentAction> actions) {
		this.actions = actions;
	}

	public StarMark getStarMark() {
		return starMark;
	}

	public void setStarMark(StarMark starMark) {
		this.starMark = starMark;
	}

	public String getCommentsLastUpdateDate() {
		return commentsLastUpdateDate;
	}

	public void setCommentsLastUpdateDate(String commentsLastUpdateDate) {
		this.commentsLastUpdateDate = commentsLastUpdateDate;
	}

	// }}

}
